package com.thread.test20190330.part1.simulatebackqueue05;

/**
 * 抽号机
 *
 * @author Conceit
 * @since 1.0.0, 2019/4/1
 */
public class ThreadLotteryMachine extends Thread{


	private static int MAX_NUMBER=50;

	/**
	 * 如果是非static那么多个抽号机都是单独计算数据,数据不能共享。
	 * 则就不是线程安全问题
	 */
	private static int START_NUMBER=1;

	@Override
	public void run(){
		while (START_NUMBER<=MAX_NUMBER){

//			synchronized (ThreadLotteryMachine.class){
//				System.out.println("当前"+Thread.currentThread().getName()+"为-->"+START_NUMBER);
//				START_NUMBER++;
//			}

			/**
			 * this为当前对象，而我们是多个对象，不同的对象拥有不同的监视器锁
			 * 因此无用
			 *
			 */
//			synchronized (this){
//				System.out.println("当前"+Thread.currentThread().getName()+"为-->"+START_NUMBER);
//				START_NUMBER++;
//			}

			System.out.println("当前"+Thread.currentThread().getName()+"为-->"+START_NUMBER);
			START_NUMBER++;
		}

	}


	public ThreadLotteryMachine(String name){
		super(name);
	}



}
